#pragma once
#include "config.h"

#include <pybind11/pybind11.h>
#include <autocxxpy/autocxxpy.hpp>

#include "oes_api/oes_api.h"
#include "mds_api/mds_api.h"


void generate_vnoes(pybind11::module & parent);
void generate_class_OesOrdReq(pybind11::object & parent);
void generate_class_decltype_OesOrdReq_userInfo_(pybind11::object & parent);
void generate_class_OesOrdCancelReq(pybind11::object & parent);
void generate_class_decltype_OesOrdCancelReq_userInfo_(pybind11::object & parent);
void generate_class_OesOrdReject(pybind11::object & parent);
void generate_class_decltype_OesOrdReject_userInfo_(pybind11::object & parent);
void generate_class_OesOrdCnfm(pybind11::object & parent);
void generate_class_decltype_OesOrdCnfm_userInfo_(pybind11::object & parent);
void generate_class_OesTrdBaseInfo(pybind11::object & parent);
void generate_class_OesTrdCnfm(pybind11::object & parent);
void generate_class_decltype_OesTrdCnfm_userInfo_(pybind11::object & parent);
void generate_class_OesLotWinningBaseInfo(pybind11::object & parent);
void generate_class_OesFundTrsfBaseInfo(pybind11::object & parent);
void generate_class_decltype_OesFundTrsfBaseInfo_userInfo_(pybind11::object & parent);
void generate_class_OesFundTrsfReq(pybind11::object & parent);
void generate_class_decltype_OesFundTrsfReq_userInfo_(pybind11::object & parent);
void generate_class_OesFundTrsfReject(pybind11::object & parent);
void generate_class_decltype_OesFundTrsfReject_userInfo_(pybind11::object & parent);
void generate_class_OesFundTrsfReport(pybind11::object & parent);
void generate_class_decltype_OesFundTrsfReport_userInfo_(pybind11::object & parent);
void generate_class_OesIssueBaseInfo(pybind11::object & parent);
void generate_class_OesPriceLimit(pybind11::object & parent);
void generate_class_OesStockBaseInfo(pybind11::object & parent);
void generate_class_OesEtfBaseInfo(pybind11::object & parent);
void generate_class_OesEtfComponentBaseInfo(pybind11::object & parent);
void generate_class_OesOptionBaseInfo(pybind11::object & parent);
void generate_class_OesCashAssetBaseInfo(pybind11::object & parent);
void generate_class_OesCustBaseInfo(pybind11::object & parent);
void generate_class_OesInvAcctBaseInfo(pybind11::object & parent);
void generate_class_OesStkHoldingBaseInfo(pybind11::object & parent);
void generate_class_OesOptHoldingBaseInfo(pybind11::object & parent);
void generate_class_OesMarketStateInfo(pybind11::object & parent);
void generate_class_OesTradingPermissionEntry(pybind11::object & parent);
void generate_class_SMsgHead(pybind11::object & parent);
void generate_class_OesQryCursor(pybind11::object & parent);
void generate_class_OesQryReqHead(pybind11::object & parent);
void generate_class_OesQryRspHead(pybind11::object & parent);
void generate_class_OesQryOrdFilter(pybind11::object & parent);
void generate_class_OesQryOrdReq(pybind11::object & parent);
void generate_class_OesQryOrdRsp(pybind11::object & parent);
void generate_class_OesQryTrdFilter(pybind11::object & parent);
void generate_class_OesQryTrdReq(pybind11::object & parent);
void generate_class_OesQryTrdRsp(pybind11::object & parent);
void generate_class_OesQryCashAssetFilter(pybind11::object & parent);
void generate_class_OesCashAssetItem(pybind11::object & parent);
void generate_class_OesQryCashAssetReq(pybind11::object & parent);
void generate_class_OesQryCashAssetRsp(pybind11::object & parent);
void generate_class_OesCounterCashItem(pybind11::object & parent);
void generate_class_OesQryCounterCashReq(pybind11::object & parent);
void generate_class_OesQryCounterCashRsp(pybind11::object & parent);
void generate_class_OesQryStkHoldingFilter(pybind11::object & parent);
void generate_class_OesStkHoldingItem(pybind11::object & parent);
void generate_class_OesQryStkHoldingReq(pybind11::object & parent);
void generate_class_OesQryStkHoldingRsp(pybind11::object & parent);
void generate_class_OesOptHoldingItem(pybind11::object & parent);
void generate_class_OesQryOptHoldingReq(pybind11::object & parent);
void generate_class_OesQryHoldRsp(pybind11::object & parent);
void generate_class_OesQryCustFilter(pybind11::object & parent);
void generate_class_OesQryCustReq(pybind11::object & parent);
void generate_class_OesQryCustRsp(pybind11::object & parent);
void generate_class_OesQryInvAcctFilter(pybind11::object & parent);
void generate_class_OesInvAcctItem(pybind11::object & parent);
void generate_class_OesQryInvAcctReq(pybind11::object & parent);
void generate_class_OesQryInvAcctRsp(pybind11::object & parent);
void generate_class_OesInvAcctOverview(pybind11::object & parent);
void generate_class_OesCashAcctOverview(pybind11::object & parent);
void generate_class_OesCustOverview(pybind11::object & parent);
void generate_class_OesClientOverview(pybind11::object & parent);
void generate_class_OesQryCommissionRateFilter(pybind11::object & parent);
void generate_class_OesCommissionRateItem(pybind11::object & parent);
void generate_class_OesQryCommissionRateReq(pybind11::object & parent);
void generate_class_OesQryCommissionRateRsp(pybind11::object & parent);
void generate_class_OesQryFundTransferSerialFilter(pybind11::object & parent);
void generate_class_OesQryFundTransferSerialReq(pybind11::object & parent);
void generate_class_OesQryFundTransferSerialRsp(pybind11::object & parent);
void generate_class_OesQryLotWinningFilter(pybind11::object & parent);
void generate_class_OesQryLotWinningReq(pybind11::object & parent);
void generate_class_OesQryLotWinningRsp(pybind11::object & parent);
void generate_class_OesQryIssueFilter(pybind11::object & parent);
void generate_class_OesQryIssueReq(pybind11::object & parent);
void generate_class_OesQryIssueRsp(pybind11::object & parent);
void generate_class_OesQryStockFilter(pybind11::object & parent);
void generate_class_OesQryStockReq(pybind11::object & parent);
void generate_class_OesQryStockRsp(pybind11::object & parent);
void generate_class_OesQryEtfFilter(pybind11::object & parent);
void generate_class_OesQryEtfReq(pybind11::object & parent);
void generate_class_OesQryEtfRsp(pybind11::object & parent);
void generate_class_OesQryEtfComponentFilter(pybind11::object & parent);
void generate_class_OesEtfComponentItem(pybind11::object & parent);
void generate_class_OesQryEtfComponentReq(pybind11::object & parent);
void generate_class_OesQryEtfComponentRsp(pybind11::object & parent);
void generate_class_OesQryOptionFilter(pybind11::object & parent);
void generate_class_OesQryOptionReq(pybind11::object & parent);
void generate_class_OesQryOptionRsp(pybind11::object & parent);
void generate_class_OesQryTradingDayRsp(pybind11::object & parent);
void generate_class_OesQryMarketStateFilter(pybind11::object & parent);
void generate_class_OesQryMarketStateReq(pybind11::object & parent);
void generate_class_OesQryMarketStateRsp(pybind11::object & parent);
void generate_class_OesQryReqMsg(pybind11::object & parent);
void generate_class_OesQryRspMsg(pybind11::object & parent);
void generate_class_OesReportSynchronizationReq(pybind11::object & parent);
void generate_class_OesReportSynchronizationRsp(pybind11::object & parent);
void generate_class_OesTestRequestReq(pybind11::object & parent);
void generate_class_OesTestRequestRsp(pybind11::object & parent);
void generate_class_OesChangePasswordReq(pybind11::object & parent);
void generate_class_decltype_OesChangePasswordReq_userInfo_(pybind11::object & parent);
void generate_class_OesChangePasswordRsp(pybind11::object & parent);
void generate_class_decltype_OesChangePasswordRsp_userInfo_(pybind11::object & parent);
void generate_class_OesBatchOrdersHead(pybind11::object & parent);
void generate_class_OesBatchOrdersReq(pybind11::object & parent);
void generate_class_OesRptMsgHead(pybind11::object & parent);
void generate_class_OesRptMsgBody(pybind11::object & parent);
void generate_class_OesRptMsg(pybind11::object & parent);
void generate_class_OesReqMsgBody(pybind11::object & parent);
void generate_class_OesRspMsgBody(pybind11::object & parent);
void generate_class_SErrMsg(pybind11::object & parent);
void generate_class_SDataBuffer(pybind11::object & parent);
void generate_class_SDataBufferVar(pybind11::object & parent);
void generate_class_SSocketUriInfo(pybind11::object & parent);
void generate_class_SSocketIpPortInfo(pybind11::object & parent);
void generate_class_SSocketChannelInfo(pybind11::object & parent);
void generate_class_SSocketOptionConfig(pybind11::object & parent);
void generate_class_SGeneralClientChannel(pybind11::object & parent);
void generate_class_decltype_SGeneralClientChannel_reserveData_(pybind11::object & parent);
void generate_class_decltype_SGeneralClientChannel_extData_(pybind11::object & parent);
void generate_class_SGeneralClientChannelGroup(pybind11::object & parent);
void generate_class_SGeneralClientAddrInfo(pybind11::object & parent);
void generate_class_SGeneralClientRemoteCfg(pybind11::object & parent);
void generate_class_OesApiSubscribeInfo(pybind11::object & parent);
void generate_class_OesApiClientCfg(pybind11::object & parent);
void generate_class_OesApiClientEnv(pybind11::object & parent);
void generate_class_MdsTradingSessionStatusMsg(pybind11::object & parent);
void generate_class_MdsSecurityStatusMsg(pybind11::object & parent);
void generate_class_MdsPriceLevelEntry(pybind11::object & parent);
void generate_class_MdsMktDataSnapshotHead(pybind11::object & parent);
void generate_class_MdsIndexSnapshotBody(pybind11::object & parent);
void generate_class_MdsStockSnapshotBody(pybind11::object & parent);
void generate_class_MdsL1SnapshotBody(pybind11::object & parent);
void generate_class_MdsL1Snapshot(pybind11::object & parent);
void generate_class_MdsL2StockSnapshotBody(pybind11::object & parent);
void generate_class_MdsL2StockSnapshotIncremental(pybind11::object & parent);
void generate_class_MdsL2BestOrdersSnapshotBody(pybind11::object & parent);
void generate_class_MdsL2BestOrdersSnapshotIncremental(pybind11::object & parent);
void generate_class_MdsL2MarketOverview(pybind11::object & parent);
void generate_class_MdsL2SnapshotBody(pybind11::object & parent);
void generate_class_MdsMktDataSnapshot(pybind11::object & parent);
void generate_class_MdsL2Trade(pybind11::object & parent);
void generate_class_MdsL2Order(pybind11::object & parent);
void generate_class_MdsWholeMktMsgBody(pybind11::object & parent);
void generate_class_MdsStockStaticInfo(pybind11::object & parent);
void generate_class_MdsQryMktDataSnapshotReq(pybind11::object & parent);
void generate_class_MdsQryTrdSessionStatusReq(pybind11::object & parent);
void generate_class_MdsQryReqHeadT(pybind11::object & parent);
void generate_class_MdsQryRspHeadT(pybind11::object & parent);
void generate_class_MdsQryCursor(pybind11::object & parent);
void generate_class_MdsQrySecurityCodeEntry(pybind11::object & parent);
void generate_class_MdsQryStockStaticInfoFilter(pybind11::object & parent);
void generate_class_MdsQryStockStaticInfoReq(pybind11::object & parent);
void generate_class_MdsQryStockStaticInfoRsp(pybind11::object & parent);
void generate_class_MdsQrySnapshotListFilter(pybind11::object & parent);
void generate_class_MdsQrySnapshotListReq(pybind11::object & parent);
void generate_class_MdsQrySnapshotListRsp(pybind11::object & parent);
void generate_class_MdsMktDataRequestEntry(pybind11::object & parent);
void generate_class_MdsMktDataRequestReq(pybind11::object & parent);
void generate_class_MdsMktDataRequestReqBuf(pybind11::object & parent);
void generate_class_MdsMktDataRequestRsp(pybind11::object & parent);
void generate_class_MdsTestRequestReq(pybind11::object & parent);
void generate_class_MdsTestRequestRsp(pybind11::object & parent);
void generate_class_MdsChangePasswordReq(pybind11::object & parent);
void generate_class_decltype_MdsChangePasswordReq_userInfo_(pybind11::object & parent);
void generate_class_MdsChangePasswordRsp(pybind11::object & parent);
void generate_class_decltype_MdsChangePasswordRsp_userInfo_(pybind11::object & parent);
void generate_class_MdsMktReqMsgBody(pybind11::object & parent);
void generate_class_MdsMktRspMsgBody(pybind11::object & parent);
void generate_class_MdsUdpPktHead(pybind11::object & parent);
void generate_class_MdsApiClientCfg(pybind11::object & parent);
void generate_class_MdsApiClientEnv(pybind11::object & parent);
void generate_enum_eOesExchangeId(pybind11::object & parent);
void generate_enum_eOesMarketId(pybind11::object & parent);
void generate_enum_eOesPlatformId(pybind11::object & parent);
void generate_enum_eOesMarketState(pybind11::object & parent);
void generate_enum_eOesTrdSessType(pybind11::object & parent);
void generate_enum_eOesProductType(pybind11::object & parent);
void generate_enum_eOesSecurityType(pybind11::object & parent);
void generate_enum_eOesSubSecurityType(pybind11::object & parent);
void generate_enum_eOesSecurityLevel(pybind11::object & parent);
void generate_enum_eOesSecurityRiskLevel(pybind11::object & parent);
void generate_enum_eOesSecuritySuspFlag(pybind11::object & parent);
void generate_enum_eOesLotType(pybind11::object & parent);
void generate_enum_eOesLotRejReason(pybind11::object & parent);
void generate_enum_eOesOrdStatus(pybind11::object & parent);
void generate_enum_eOesOrdType(pybind11::object & parent);
void generate_enum_eOesOrdTypeSh(pybind11::object & parent);
void generate_enum_eOesOrdTypeSz(pybind11::object & parent);
void generate_enum_eOesBuySellType(pybind11::object & parent);
void generate_enum_eOesOrdDir(pybind11::object & parent);
void generate_enum_eOesEtfTrdCnfmType(pybind11::object & parent);
void generate_enum_eOesEtfSubFlag(pybind11::object & parent);
void generate_enum_eOesExecType(pybind11::object & parent);
void generate_enum_eOesCurrType(pybind11::object & parent);
void generate_enum_eOesFeeType(pybind11::object & parent);
void generate_enum_eOesCalcFeeMode(pybind11::object & parent);
void generate_enum_eOesFundTrsfDirect(pybind11::object & parent);
void generate_enum_eOesFundTrsfType(pybind11::object & parent);
void generate_enum_eOesFundTrsfStatus(pybind11::object & parent);
void generate_enum_eOesAcctType(pybind11::object & parent);
void generate_enum_eOesCashType(pybind11::object & parent);
void generate_enum_eOesAcctStatus(pybind11::object & parent);
void generate_enum_eOesTradingPermission(pybind11::object & parent);
void generate_enum_eOesTradingLimit(pybind11::object & parent);
void generate_enum_eOesQualificationClass(pybind11::object & parent);
void generate_enum_eOesInvestorClass(pybind11::object & parent);
void generate_enum_eOesCustType(pybind11::object & parent);
void generate_enum_eOesOwnerType(pybind11::object & parent);
void generate_enum_eOesClientType(pybind11::object & parent);
void generate_enum_eOesClientStatus(pybind11::object & parent);
void generate_enum_eOesOptContractType(pybind11::object & parent);
void generate_enum_eOesOptInvLevel(pybind11::object & parent);
void generate_enum_eOpenFlagType(pybind11::object & parent);
void generate_enum_eOesOptionOpenFlag(pybind11::object & parent);
void generate_enum_eOesPositionEff(pybind11::object & parent);
void generate_enum_eOesOptionType(pybind11::object & parent);
void generate_enum_eSMsgProtocolType(pybind11::object & parent);
void generate_enum_eSMsgFlag(pybind11::object & parent);
void generate_enum_eOesMsgType(pybind11::object & parent);
void generate_enum_eOesSubscribeReportType(pybind11::object & parent);
void generate_enum_eOesProtocolHintsType(pybind11::object & parent);
void generate_enum_eSSocketProtocolType(pybind11::object & parent);
void generate_enum_eGeneralClientClusterType(pybind11::object & parent);
void generate_enum_eGeneralClientEncryptType(pybind11::object & parent);
void generate_enum_eOesApiChannelType(pybind11::object & parent);
void generate_enum_eMdsExchangeId(pybind11::object & parent);
void generate_enum_eMdsMsgSource(pybind11::object & parent);
void generate_enum_eMdsMdProductType(pybind11::object & parent);
void generate_enum_eMdsMdStreamType(pybind11::object & parent);
void generate_enum_eMdsMdLevel(pybind11::object & parent);
void generate_enum_eMdsL2PriceLevelOperator(pybind11::object & parent);
void generate_enum_eMdsL2TradeExecType(pybind11::object & parent);
void generate_enum_eMdsL2TradeBSFlag(pybind11::object & parent);
void generate_enum_eMdsL2OrderSideT(pybind11::object & parent);
void generate_enum_eMdsL2OrderType(pybind11::object & parent);
void generate_enum_eMdsClientType(pybind11::object & parent);
void generate_enum_eMdsClientStatus(pybind11::object & parent);
void generate_enum_eMdsMsgType(pybind11::object & parent);
void generate_enum_eMdsSubscribeMode(pybind11::object & parent);
void generate_enum_eMdsMktSubscribeFlag(pybind11::object & parent);
void generate_enum_eMdsSubscribedTickType(pybind11::object & parent);
void generate_enum_eMdsSubscribedTickExpireType(pybind11::object & parent);
void generate_enum_eMdsSubscribeDataType(pybind11::object & parent);
void generate_enum_eMdsSubscribedChannelNo(pybind11::object & parent);
void generate_enum_eMdsProtocolHintsType(pybind11::object & parent);
void generate_enum_eMdsApiChannelType(pybind11::object & parent);
void generate_caster_(pybind11::object & parent);


